Personalizing error messages based on user learning styles

ABSTRACT

An approach is provided for personalizing an error message for a user. A modified help system monitors interactions with the help system and includes instructions about error conditions. The instructions are in formats that match four learning styles indicating a preference for visual input, spoken verbal input, written verbal input, and a combination of visual and verbal input. Selections of content to resolve error conditions and types of interactions are recorded. Learning format, learning type, interactivity level, interactivity type, and semantic density of the selected content are determined. A learning style model is generated. Based on the model, the learning style of the user is determined to be one of the four learning styles. A predetermined error message describing a detected error condition is retrieved. The error message is augmented with an instruction in a format that matches the learning style of the user and is presented to the user.

This application is a continuation application claiming priority to Ser.No. 14/154,605 filed Jan. 14, 2014, now U.S. Pat. No. 9,354,958 issuedMay 31, 2016.

TECHNICAL FIELD

The present invention relates to a data processing method and system formanaging user interface messages, and more particularly to a techniquefor personalizing error messages.

BACKGROUND

An end user viewing an error message finds it difficult to determine theproblem indicated by the message or the action to take when encounteringan exceptional situation while operating a computer system orapplication. To determine the action to take when an error occurs, theend user may utilize error codes, user manuals, a search ofdocumentation or the Internet to determine the root cause of the error,troubleshooting suggestions, and “fix this problem” graphical userinterface buttons. Known customization of error messages includesinternationalization of the messages. Error messages areinternationalized by generating a hashmap or database table that indexesthe error message to be displayed with an error key. A different errormessage is provided for each language. Based on the user's languagepreference, the message in that language is displayed. These known errormessage customization techniques are limited to internationalization andtherefore fail to account for other relevant differences in userattributes that affect how easily users can determine a cause of aproblem or the action to take in response to an error message.

BRIEF SUMMARY

In a first embodiment, the present invention provides a methodpersonalizing an error message for a user. The method includes acomputer monitoring a usage by the user of content of a help systemintegrated with a software application. The usage of the content causesthe user to resolve one or more error conditions. The method furtherincludes the computer determining attributes of the usage of the contentof the help system. The method further includes the computer determininga learning style of the user based on the attributes. The method furtherincludes, subsequent to the step of determining the learning style, thecomputer detecting an error condition. The method further includes thecomputer augmenting the error message with a communication and/or ahyperlink that activates an action. The communication and hyperlink arecompatible with the learning style of the user and are configured toassist the user with resolving the error condition. The method furtherincludes the computer presenting the augmented error message to the userduring an interaction between the user and the application.

In a second embodiment, the present invention provides a centralprocessing unit (CPU); a memory coupled to the CPU; and acomputer-readable, tangible storage device coupled to the CPU. Thestorage device includes instructions that are executed by the CPU viathe memory to implement a method of personalizing an error message for auser. The method includes a computer system monitoring a usage by theuser of content of a help system integrated with a software application.The usage of the content causes the user to resolve one or more errorconditions. The method further includes the computer system determiningattributes of the usage of the content of the help system. The methodfurther includes the computer system determining a learning style of theuser based on the attributes. The method further includes, subsequent tothe step of determining the learning style, the computer systemdetecting an error condition. The method further includes the computersystem augmenting the error message with a communication and/or ahyperlink that activates an action. The communication and hyperlink arecompatible with the learning style of the user and are configured toassist the user with resolving the error condition. The method furtherincludes the computer system presenting the augmented error message tothe user during an interaction between the user and the application.

In a third embodiment, the present invention provides a computer programproduct including a computer-readable, tangible storage device and acomputer-readable program code stored in the computer-readable, tangiblestorage device. The computer-readable program code includes instructionsthat are executed by a central processing unit (CPU) of a computersystem to implement a method of personalizing an error message for auser. The method includes a computer system monitoring a usage by theuser of content of a help system integrated with a software application.The usage of the content causes the user to resolve one or more errorconditions. The method further includes the computer system determiningattributes of the usage of the content of the help system. The methodfurther includes the computer system determining a learning style of theuser based on the attributes. The method further includes, subsequent tothe step of determining the learning style, the computer systemdetecting an error condition. The method further includes the computersystem augmenting the error message with a communication and/or ahyperlink that activates an action. The communication and hyperlink arecompatible with the learning style of the user and are configured toassist the user with resolving the error condition. The method furtherincludes the computer system presenting the augmented error message tothe user during an interaction between the user and the application.

Embodiments of the present invention present error messages that includeinformation relevant to a particular end user, based on the end user'spast behavior and/or based on the end user's learning style. The errormessages provide a mechanism to reinforce key concept(s) behind the taskthat the end user is trying to accomplish in a format that is bestsuited to the end user's learning style.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for personalizing error messages,in accordance with embodiments of the present invention.

FIGS. 2A-2B depict a flowchart of a process of personalizing an errormessage for a user based on a learning style of the user, where theprocess is implemented in the system of FIG. 1, in accordance withembodiments of the present invention.

FIG. 3 is a flowchart of a process of personalizing an error message fora user based on previous behavior of the user, where the process isimplemented in the system of FIG. 1, in accordance with embodiments ofthe present invention.

FIG. 4 is an exemplary model of a user's learning style used in theprocess of FIGS. 2A-2B, in accordance with embodiments of the presentinvention.

FIGS. 5A, 5B and 5C are exemplary personalized error messages generatedby the system of FIG. 1, in accordance with embodiments of the presentinvention.

FIG. 6 is a block diagram of a computer that is included in the systemof FIG. 1 and that implements at least one of the processes of FIGS.2A-2B and FIG. 3, in accordance with embodiments of the presentinvention.

DETAILED DESCRIPTION Overview

Embodiments of the present invention provide users with personalizederror messages based on the learning styles of the users, the level ofknowledge of the users, and/or historical user behavior such as previouscorrective actions taken by the users. The personalization of errormessages may also be based on information stored in user profiles. Anerror message personalized for a particular user may include apredetermined system error message augmented with (1) content that iscompatible with a user's learning style, (2) content that takes intoaccount a user's existing skill level, and/or (3) content thatsummarizes and/or links to corrective actions that were commonly takenor responses that were commonly provided by the user to resolve theerror condition indicated by the error message.

As used herein, a learning style is defined as a person's natural orhabitual pattern of acquiring and processing information in learningsituations.

System for Personalizing Error Messages

FIG. 1 is a block diagram of a system for personalizing error messages,in accordance with embodiments of the present invention. A system 100includes a computer 102, which executes a software-based error messagepersonalization program 104 and a software application 106, whichaccesses a help subsystem (not shown) integrated with softwareapplication 106. The help subsystem includes help content 108 that canbe accessed and viewed by a user of computer 102, and that providesguided assistance to help a user interact with software application 106or computer 102. Computer 102 also executes software-based errordetection tool 110, which detects error conditions that indicateproblems with software application 106 or computer 102. In response todetecting an error condition, error detection tool 110 accessespredetermined error messages 112 in a database or other data repository(not shown) to select one of the error messages 112 that describes thedetected error condition.

A user access 114 of help content 108 provides the user with guidedassistance with software application 106 or computer 102. Error messagepersonalization program 104 monitors users' usage of help content 108 toobtain the aforementioned guided assistance. Error messagepersonalization program 104 monitors user behavior 118 of users ofcomputer 102, including the online information sources accessed by usersvia computer 102 or via the Internet (not shown) to resolve errorconditions detected by error detection tool 110. Using the monitoredusage of help content 108, error message personalization program 104determines learning styles 116 of the users of computer 102.

Based on a learning style 116 of a particular user of computer 102 andthe user behavior 118 of the particular user, error messagepersonalization program 104 generates a personalized error message 120for the user (i.e., an error message 120 that is compatible with theparticular user's learning style and that summarizes previous userbehavior that had been used to solve the error condition specified bythe error message 120).

As one alternative embodiment, error message personalization program 104determines learning styles 116 but not user behavior 118, and generatespersonalized error message 120 that is compatible with the user'slearning style 116.

As another alternative embodiment, error message personalization program104 determines user behavior 118 but not learning styles 116, andgenerates personalized error message 120 so that the message includes(1) a summary of user behavior 118 that had been used previously tosolve the error condition specified by error message 120 and/or (2)hyperlink(s) to perform actions included in user behavior 118.

The functionality of the components of FIG. 1 is described in moredetail in the discussion presented below relative to FIGS. 2A-2B andFIG. 3.

Process for Personalizing Error Messages Based on Learning Styles

FIGS. 2A-2B depict a flowchart of a process of personalizing an errormessage for a user based on a learning style of the user, where theprocess is implemented in the system of FIG. 1, in accordance withembodiments of the present invention. The process of personalizing anerror message based on a user's learning style starts at step 200. Instep 201, error message personalization program 104 (see FIG. 1)modifies a help system that is supplied and/or is integrated withsoftware application 106 (see FIG. 1) or with an operating systemrunning on computer 102 (see FIG. 1). The modification to the helpsystem provides error message personalization program 104 (see FIG. 1)with a capability to monitor user interactions with the help system, sothat error personalization program 104 (see FIG. 1) can track and recordthe content 108 (see FIG. 1) of the help system that a user isinteracting with and the types of interactions with the help system thatthe user is employing. The modified help system includes various typesof help content 108 (see FIG. 1) and provides various types ofinteraction with the help content 108 (see FIG. 1), where each type ofhelp content and each type of interaction is compatible with one or morerespective learning styles. When using the help system, each user'sselection of the type of help content 108 (see FIG. 1) and the type ofinteraction provided with the selected type of help content indicatesthe user's learning style. For example, program 104 (see FIG. 1)modifies the help system so that help content 108 (see FIG. 1) includestext and a figure to explain each error condition. By including bothtext and a figure, help content 108 (see FIG. 1) in the modified helpsystem includes content that is compatible with a user who has alearning style that prefers visual input and other content that iscompatible with a user who has a learning style that prefers verbalinput.

In step 202, error detection tool 110 (see FIG. 1) detects one or moreerror conditions associated with the operation of software application106 (see FIG. 1) or computer 102 (see FIG. 1). After step 202 and priorto step 204, error message personalization program 104 (see FIG. 1)receives the detected error condition(s) from error detection tool 110(see FIG. 1).

In step 204, error message personalization program 104 (see FIG. 1)monitors (1) help content 108 (see FIG. 1) with which a user isinteracting, and (2) type(s) of interaction the user has with helpcontent 108 (see FIG. 1) to resolve the error condition(s) detected instep 202.

In step 206, error message personalization program 104 (see FIG. 1)determines attributes of the help content 108 (see FIG. 1) that ismonitored in step 204. In one embodiment, the attributes determined instep 206 include one or more of the following items: learning format,learning type, interactivity level, interactivity type, and semanticdensity that is utilized, preferred or required by a user to learn aboutthe error condition(s) detected in step 204 and the actions to resolvethe error condition(s).

Learning format is the format of help content 108 (see FIG. 1) that theuser utilizes to learn about the error condition(s) and actions toresolve the error condition(s). Examples of learning format includetext, image, audio, video, and application.

Learning type is the type of help content 108 (see FIG. 1) that the userutilizes to learn about the aforementioned error condition(s) andactions. Examples of learning type include a learning exercise,simulation, questionnaire, figure, index, table of information,narrative text, exam, and lecture.

Interactivity level is an indicator of the amount of interactivityprovided by the help content 108 (see FIG. 1) that the user utilizes tolearn about the aforementioned error condition(s) and actions. Examplesof interactivity level include very low, low, medium, high and veryhigh, where very low indicates no interactivity options, low indicateshelp documentation or web links with 100% relevance, medium indicateshelp documentation or web links with at least 75% relevance, highindicates continuous movement or response based on feedback, and veryhigh indicates a requirement for simulation or game-based learning.

Interactivity type is a type of interactivity provided by the helpcontent 108 (see FIG. 1) that the user utilizes to learn about theaforementioned error condition(s) and actions. Examples of interactivitytype include active, expositive, and mixed (i.e., a mixture of activeand expositive).

Semantic density is an indication of the number of instances of aparticular learning type that is preferred by the user to learn aboutthe aforementioned error condition(s) and actions. Examples of semanticdensity include very low, low, medium, high and very high.

In step 208, based on the help content 108 (see FIG. 1) and type(s) ofinteraction monitored in step 204 and based on the attributes determinedin step 206, error message personalization program 104 (see FIG. 1)builds a model of the user's learning style 116 (see FIG. 1). Forexample, the model built in step 208 is a Bayesian network. See FIG. 4and the discussion of FIG. 4 presented below for an example of a modelbuilt as a Bayesian network.

In step 209, based on the model built in step 208, error messagepersonalization program 104 (see FIG. 1) determines the learning style116 (see FIG. 1) of the user. In one embodiment, error messagepersonalization program 104 (see FIG. 1) models the help content 108(see FIG. 1) and the type(s) of interaction monitored in step 204, andthe attributes determined in step 206 by using a Bayesian network. Errormessage personalization program 104 (see FIG. 1) uses the Bayesiannetwork-based model to deduce the learning style 116 (see FIG. 1) of theuser. For example, error message personalization program 104 (seeFIG. 1) deduces the learning style 116 (see FIG. 1) of the user based onthe type of interaction the user has with the help system.

For example, in step 209, error message personalization program 104 (seeFIG. 1) determines a first user's learning style based on the modelbuilt in step 208 indicating a preference for learning about an errorcondition by watching a video tutorial. As another example, in step 209,error message personalization program 104 (see FIG. 1) determines asecond user's learning style based on the model built in step 208indicating a preference for learning about an error condition by beingable to select hyperlinks that describe the details of a step-by-stepprocess of resolving the error specified by the error condition.

In step 210 in FIG. 2B, after determining the learning style 116 (seeFIG. 1) of the user, error detection tool 110 (see FIG. 1) detects anerror condition that indicates an error in the operation of softwareapplication 106 (see FIG. 1) or computer 102 (see FIG. 1) and retrievesa predetermined error message 112 (see FIG. 1) from a data repository,where the retrieved error message describes the detected errorcondition. After step 210 and prior to step 212, error messagepersonalization program 104 (see FIG. 1) receives the error conditionand the predetermined error message 112 (see FIG. 1) from errordetection tool 110 (see FIG. 1).

In step 212, error message personalization program 104 (see FIG. 1)augments the retrieved predetermined error message 112 (see FIG. 1) witha message (i.e., communication) to the user and/or a hyperlink that whenselected performs an action. The communication and action are compatiblewith the learning style determined in step 209 (see FIG. 2A). Thecommunication and action are configured to resolve the error conditiondetected in step 210. The augmented version of error message 112 (seeFIG. 1) is also referred to herein as personalized error message 120(see FIG. 1).

In step 214, error message personalization program 104 (see FIG. 1)presents personalized error message 120 (see FIG. 1) to the user (e.g.,initiates a display of personalized error message 120 (see FIG. 1) on ascreen that is viewed by the user).

After step 214 and prior to step 216, error message personalizationprogram 104 (see FIG. 1) receives an action selected by the user toresolve the error condition detected in step 210, where the selection ofthe action is based on the user viewing the personalized error message120 (see FIG. 1) presented in step 214. In step 216, error messagepersonalization program 104 (see FIG. 1) or another program executed bycomputer 102 (see FIG. 1) performs the selected action to resolve theerror specified by the error condition detected in step 210.

In step 218, the process of personalizing an error message based on auser's learning style ends.

As one example, error message personalization program 104 (see FIG. 1)monitors a user's repeated interaction with a “show me how?” feature ofa help system in step 204 (see FIG. 2A) and determines that a repeatedinteraction with the “show me how?” feature indicates the user requireshigh interactivity (i.e., an attribute of high interactivity isdetermined in step 206 in FIG. 2A). The user's learning style that isspecified by a preference for high interactivity is determined in step209 (see FIG. 2A). In this example, a subsequent augmented error messageresulting from step 212 (see FIG. 2B) includes an added feature forcommunicating an action to the resolve the error condition detected instep 210 (see FIG. 2B), where the added feature has high interactivity,which makes the augmented message compatible with the user's learningstyle.

In one embodiment, prior to step 214, error message personalizationprogram 104 (see FIG. 1) retrieves information from a user profile forthe user and further augments the predetermined error message withretrieved information from the user profile and/or based on theretrieved information. The user profile is stored in a data repositorysuch as a database. For example, error message personalization program104 (see FIG. 1) can retrieve the name of the user from the user profileand augment the predetermined error message by adding the user's namebefore or within the aforementioned personalized error message which isbased on the user's learning style. As another example, error messagepersonalization program 104 (see FIG. 1) can retrieve the age of theuser and determine a writing style to present textual instructions in apersonalized error message based on the age of the user. For instance,for User 1, who is a relatively young user, error messagepersonalization program 104 (see FIG. 1) generates a personalized errormessage in step 212 that has an instruction written in the style of atext message, which is not written according to the rules of standardEnglish grammar, spelling and punctuation. For User 2, who issignificantly older than User 1, error message personalization program104 (see FIG. 1) can generate a personalized error message in step 212that has instructions written according to the rules of standard Englishgrammar, spelling and punctuation.

In one embodiment, the process of FIGS. 2A-2B is performed multipletimes for different users, which results in different personalized errormessages being generated in step 212 for respective users. For example,in a first performance of the process of FIGS. 2A-2B, the monitoring instep 204 (see FIG. 2A) of the utilization of help content 108 (seeFIG. 1) by User 1 to resolve error conditions reveals that the learningstyle of User 1 is indicated by preferences for a single example thatfeatures an image including a figure with a high level of interactivitywhich has a mixture of active and expositive types of interactivity.Furthermore, in a second performance of the process of FIGS. 2A-2B, themonitoring in step 204 (see FIG. 2A) of the utilization of help contentby User 2 to resolve error conditions reveals that the learning style ofUser 2 is indicated by preferences for multiple text-based narrativesthat feature no interactivity. In this example, step 212 in the firstperformance of the process of FIGS. 2A-2B generates a personalized errormessage for User 1 that includes a hyperlink to a figure that includes ahigh level of interactivity, which is compatible with User 1's learningstyle. Moreover, step 212 in the second performance of the process ofFIGS. 2A-2B in this example generates a personalized error message forUser 2 that is different from the personalized error message for User 1,and which includes multiple hyperlinks to different text-based narrativeexplanations of the error condition.

Process for Personalizing Error Messages Based on User Behavior

FIG. 3 is a flowchart of a process of personalizing an error message fora user based on previous behavior of the user, where the process isimplemented in the system of FIG. 1, in accordance with embodiments ofthe present invention. The process of personalizing an error messagebased on user behavior starts at step 300. In step 302, error messagepersonalization program 104 (see FIG. 1) monitors behavior of a user,including one or more corrective actions taken by the user to resolvecorresponding instance(s) of single error condition that specifies anerror in the operation of software application 106 (see FIG. 1) orcomputer 102 (see FIG. 1). Error message personalization program 104(see FIG. 1) stores the monitored behavior in a data repository, whichincludes user behaviors 118 (see FIG. 1). In one embodiment, themonitored behavior of the user includes website(s) accessed by the user,online forum(s) visited by the user, and help manuals and otherdocumentation downloaded or viewed by the user.

In step 304, based on the corrective action(s) monitored in step 302,error message personalization program 104 (see FIG. 1) determinessource(s) of information utilized by the user to resolve the errorspecified by the error condition. The source(s) of information wereutilized by the user as a result of the corrective action(s) taken bythe user to resolve the error condition.

In step 306, after monitoring the behavior of the user including theprevious corrective action(s) taken by the user to resolve the errorspecified by the error condition, error detection tool 110 (see FIG. 1)detects another instance of the same error condition and retrieves apredetermined error message 112 (see FIG. 1) from a data repository.Error message personalization program 104 (see FIG. 1) receives fromerror detection tool 110 (see FIG. 1) an indication that the same errorcondition has been detected again and receives the retrieved errormessage 112 (see FIG. 1).

In step 308, error message personalization program 104 (see FIG. 1)augments the retrieved error message 112 (see FIG. 1) with (1) a summaryof the source(s) of information determined in step 304 and/or hyperlinksto access the aforementioned source(s) of information. The augmentederror message resulting from step 308 is also referred to as thepersonalized error message 120 (see FIG. 1).

In step 310, error message personalization program 104 (see FIG. 1)presents the personalized error message 120 (see FIG. 1) to the user(e.g., initiates a display of the personalized error message 120 (seeFIG. 1) on a screen being viewed by the user).

After step 310 and prior to step 312, error message personalizationprogram 104 (see FIG. 1) receives a selection by the user to access theat least one of the aforementioned source(s) of information based on theuser viewing the personalized error message 120 (see FIG. 1). In step312, error message personalization program 104 (see FIG. 1) accesses theselected source(s) of information.

In step 314, the process of personalizing an error message based on userbehavior ends.

As one example, in step 302, error message personalization program 104(see FIG. 1) monitors a corrective action taken by the user to resolvean error condition. The monitored corrective action includes the useraccessing website XYZ and downloading a document ABC to resolve an errorspecified by the error condition. In this example, step 304 includesdetermining website XYZ and document ABC as sources of information.Furthermore, in this example, step 308 includes augmenting an errormessage with a statement that includes a hyperlink: “Click here to seewhat worked for you the last time you resolved this error condition,”where activating the hyperlink displays a summary of the user's previousbehavior of accessing website XYZ and downloading document ABC, and alsodisplays other hyperlinks that when activated access website XYZ anddownload document ABC.

In one embodiment, the processes of FIGS. 2A-2B and FIG. 3 are combinedso that the personalized error message 120 (see FIG. 1) results fromboth the augmentation of the predetermined error message 112 (seeFIG. 1) with the communication and/or hyperlink in step 212 (see FIG.2B) and the augmentation with the summary of and/or the hyperlink(s) toaccess the source(s) of information in step 308 (see FIG. 3).

In one embodiment, prior to step 310, error message personalizationprogram 104 (see FIG. 1) retrieves information from a user profile forthe user and further augments the predetermined error message in step310 with retrieved information (e.g., the user's name) and/or based onthe retrieved information (e.g., the user's age). The user profile isstored in a data repository such as a database.

In one embodiment, the process of FIG. 3 is performed multiple times fordifferent users, which results in different personalized error messagesbeing generated in step 308 for respective users. For example, in afirst performance of the process of FIG. 3, the monitoring in step 302of the corrective actions taken by User 1 to resolve an error conditionreveals that User 1 accessed website XYZ and downloaded document ABCfrom website XYZ. Furthermore, in a second performance of the process ofFIG. 3, the monitoring in step 302 of the corrective actions taken byUser 2 to resolve the same error condition as the one resolved by User 1reveals that User 2 has corrected the error condition by visiting anonline forum WXY. In this example, step 308 in the first performance ofthe process of FIG. 3 generates a personalized error message for User 1that includes a summary of User 1 visiting website XYZ to downloaddocument ABC to resolve the error condition. Moreover, step 308 in thesecond performance of the process of FIG. 3 in this example generates apersonalized error message for User 2 that is different from thepersonalized error message for User 1, and which includes a summary ofUser 2 visiting the online forum WXY to resolve the error condition.

Examples

FIG. 4 is an exemplary model 400 used to determine a user's learningstyle in step 209 (see FIG. 2A), in accordance with embodiments of thepresent invention. Error message personalization program 104 (seeFIG. 1) generates model 400 as a Bayesian network that includes alearning style 402 of a user, where the learning style is deduced fromfour critical dichotomous and continuous dimensions: perception 404,input 406, understanding 408 and processing 410. The perception 404dimension indicates the type of information (i.e., sensory or intuitive)that the user preferentially perceives. Sensory information includessights, sounds, and physical sensations. Intuitive information includesideas, insights, and memories. The input 406 dimension indicates themode (i.e., visual or verbal) through which the user most effectivelyreceives information. The understanding 408 dimension indicates how theuser progresses towards understanding—sequentially or globally. Theprocessing 410 dimension indicates how the user prefers to processinformation—actively or reflectively.

Error message personalization program 104 (see FIG. 1) deduces each ofthe four critical dimensions from one or more of the followingattributes of help content 108 (see FIG. 1) that the user utilizes toresolve error conditions associated with software application 106 (seeFIG. 1) or computer 102 (see FIG. 1): learning type 412, learning format414, interactivity level 416, interactivity type 418 and semanticdensity 420. The arrows from the four critical dimensions to theattributes in the bottom row of model 400 indicate the attributes thatare the basis for deducing the critical dimension. For instance, the twoarrows from perception 404 to learning type 412 and learning format 414indicate that the perception 404 dimension is deduced from learning type412 and learning format 414. The attributes 412, 414, 416, 418 and 420are described in more detail above in the discussion of FIGS. 2A-2B.

FIGS. 5A, 5B and 5C are exemplary personalized error messages generatedby the system of FIG. 1, in accordance with embodiments of the presentinvention. Personalized error message 502 in FIG. 5A is an example of anaugmented error message resulting from step 212 (see FIG. 2B) and step308 (see FIG. 3). Personalized error message 502 includes apredetermined error message 504 describing the error “Unable to mountAvatar,” which is augmented by messages 506, 508 and 510. Message 506 isa textual instruction that is compatible with a learning style thatincludes an input dimension that indicates a strong preference forverbal input in the form of written words. Message 510 includes ahyperlink that when selected displays a video that includes spokeninstructions about the error condition. The video which includes spokeninstructions accessed via message 510 is compatible with a learningstyle that includes an input dimension that indicates a strongpreference for verbal input in the form of spoken words. Messages 506and 510 augment error message 504 in step 212 (see FIG. 2B). Message 508includes a hyperlink that when selected displays a summary of thecorrective action(s) taken by the user the last two times the userencountered the same error message of “Unable to mount Avatar.” Message508 augments error message 504 in step 308 (see FIG. 3).

Personalized error message 520 in FIG. 5B is an example of an augmentederror message resulting from step 212 (see FIG. 2B) and step 308 (seeFIG. 3). Personalized error message 520 includes a predetermined errormessage 522 describing the error “Unable to mount Avatar,” which isaugmented by messages 524, 526 and 528. Message 524 is a textualinstruction that is compatible with a learning style that includes aninput dimension that indicates a strong preference for verbal input inthe form of written words. Message 528 includes hyperlinks that whenselected display details of steps to resolve the error condition “Unableto mount Avatar.” The hyperlinks to access the details of the steps iscontent compatible with a learning style that includes an understandingdimension that indicates a strong preference for learning sequentiallywith a focus on details. Messages 524 and 528 augment error message 522in step 212 (see FIG. 2B). Message 526 includes a hyperlink that whenselected displays a summary of the corrective action(s) taken by theuser the last two times the user encountered the same error message of“Unable to mount Avatar.” Message 526 augments error message 522 in step308 (see FIG. 3).

Personalized error message 540 in FIG. 5C is an example of an augmentederror message resulting from step 212 (see FIG. 2B). Personalized errormessage 540 includes a predetermined error message 542 describing theerror “Unable to mount Avatar,” which is augmented by a window 544 thatshows a video tutorial to resolve the error condition. Window 544provides a video with flowcharts and spoken words, which is compatiblewith a learning style that includes an input dimension that indicates amixed preference visual learning and verbal learning. The window thatshows the video tutorial also provides details in a step-by-step manner,which is content compatible with a learning style that includes anunderstanding dimension that indicates a strong preference for learningsequentially with a focus on details. The window 544 augments errormessage 542 in step 212 (see FIG. 2B).

Computer System

FIG. 6 is a block diagram of a computer that is included in the systemof FIG. 1 and that implements at least one of the processes of FIGS.2A-2B and FIG. 3, in accordance with embodiments of the presentinvention. Computer 102 generally includes a central processing unit(CPU) 602, a memory 604, an input/output (I/O) interface 606, and a bus608. Further, computer 102 is coupled to I/O devices 610 and a computerdata storage unit 612. CPU 602 performs computation and controlfunctions of computer 102, including executing instructions included inprogram code 614 for error message personalization program 104 (seeFIG. 1) and program code 616 for error detection tool 110 (see FIG. 1)to perform a method of personalizing error messages, where theinstructions are executed by CPU 602 via memory 604. CPU 602 may includea single processing unit, or be distributed across one or moreprocessing units in one or more locations (e.g., on a client andserver).

Memory 604 includes a known computer-readable storage medium, which isdescribed below. In one embodiment, cache memory elements of memory 604provide temporary storage of at least some program code (e.g., programcode 614) in order to reduce the number of times code must be retrievedfrom bulk storage while instructions of the program code are executed.Moreover, similar to CPU 602, memory 604 may reside at a single physicallocation, including one or more types of data storage, or be distributedacross a plurality of physical systems in various forms. Further, memory604 can include data distributed across, for example, a local areanetwork (LAN) or a wide area network (WAN).

I/O interface 606 includes any system for exchanging information to orfrom an external source. I/O devices 610 include any known type ofexternal device, including a display device (e.g., monitor), keyboard,mouse, printer, speakers, handheld device, facsimile, etc. Bus 608provides a communication link between each of the components in computer102, and may include any type of transmission link, includingelectrical, optical, wireless, etc.

I/O interface 606 also allows computer 102 to store information (e.g.,data or program instructions such as program code 614) on and retrievethe information from computer data storage unit 612 or another computerdata storage unit (not shown). In one embodiment, program code 614 isstored on computer data storage unit 612. Computer data storage unit 612includes a known computer-readable storage medium, which is describedbelow. In one embodiment, computer data storage unit 612 is anon-volatile data storage device, such as a magnetic disk drive (i.e.,hard disk drive) or an optical disc drive (e.g., a CD-ROM drive whichreceives a CD-ROM disk).

Memory 604 and/or storage unit 612 may store computer program code 614that includes instructions that are executed by CPU 602 via memory 604to personalize error messages. Although FIG. 6 depicts memory 604 asincluding program code 614, the present invention contemplatesembodiments in which memory 604 does not include all of code 614simultaneously, but instead at one time includes only a portion of code614.

Further, memory 604 may include other systems not shown in FIG. 6, suchas an operating system (e.g., Linux®) that runs on CPU 602 and providescontrol of various components within and/or connected to computer 102.Linux is a registered trademark of Linus Torvalds in the United States,other countries, or both.

Storage unit 612 and/or one or more other computer data storage units(not shown) that are coupled to computer 102 may store data fromexternal data source(s) 122 (see FIG. 1) and/or data warehouse 126 (seeFIG. 1).

As will be appreciated by one skilled in the art, in a first embodiment,the present invention may be a system; in a second embodiment, thepresent invention may be a method; and in a third embodiment, thepresent invention may be a computer program product. A component of anembodiment of the present invention may take the form of an entirelyhardware-based component, an entirely software component (includingfirmware, resident software, micro-code, etc.) or a component combiningsoftware and hardware sub-components that may all generally be referredto herein as a “module”.

An embodiment of the present invention may take the form of a computerprogram product embodied in one or more computer-readable medium(s)(e.g., memory 604 and/or computer data storage unit 612) havingcomputer-readable program code (e.g., program code 614) embodied orstored thereon.

Any combination of one or more computer-readable mediums (e.g., memory604 and computer data storage unit 612) may be utilized. In oneembodiment, the computer-readable medium is a computer-readable storagemedium. In another embodiment, the computer-readable medium is acomputer-readable signal medium. As used herein, a computer-readablestorage medium is not a computer-readable signal medium.

In one embodiment, the computer-readable storage medium is a physical,tangible computer-readable storage device or physical, tangiblecomputer-readable storage apparatus that stores but does not propagate,and is not a transitory form of signal transmission. A computer-readablestorage medium may include, for example, an electronic, magnetic,optical, electromagnetic, or semiconductor system, apparatus, device orany suitable combination of the foregoing. A non-exhaustive list of morespecific examples of the computer-readable storage medium includes: aportable computer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), an optical fiber, a portable compact disc read-onlymemory (CD-ROM), an optical storage device, a magnetic storage device,or any suitable combination of the foregoing. In the context of thisdocument, a computer-readable storage medium is a physical, tangiblestorage medium that can contain or store a program (e.g., program 614)for use by or in connection with a system, apparatus, or device forcarrying out instructions in the program, and which does not propagate.The term “computer-readable storage device” does not include signalpropagation media such as copper cables, optical fibers and wirelesstransmission media.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electromagnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with asystem, apparatus, or device for carrying out instructions.

Program code (e.g., program code 614) embodied on a computer-readablemedium may be transmitted using any appropriate medium, including butnot limited to wireless, wireline, optical fiber cable, radio frequency(RF), etc., or any suitable combination of the foregoing.

Computer program code (e.g., program code 614) for carrying outoperations for aspects of the present invention may be written in anycombination of one or more programming languages, including an objectoriented programming language such as Java®, Smalltalk, C++ or the likeand conventional procedural programming languages, such as the “C”programming language or similar programming languages. Java and allJava-based trademarks are trademarks or registered trademarks of Oracleand/or its affiliates. Instructions of the program code may be carriedout entirely on a user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server, wherethe aforementioned user's computer, remote computer and server may be,for example, computer 102 or another computer system (not shown) havingcomponents analogous to the components of computer 102 included in FIG.6. In the latter scenario, the remote computer may be connected to theuser's computer through any type of network (not shown), including a LANor a WAN, or the connection may be made to an external computer (e.g.,through the Internet using an Internet Service Provider).

Aspects of the present invention are described herein with reference toflowchart illustrations (e.g., FIGS. 2A-2B and FIG. 3) and/or blockdiagrams of methods, apparatus (systems) (e.g., FIG. 1 and FIG. 6), andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions (e.g., program code 614). These computer programinstructions may be provided to one or more hardware processors (e.g.,CPU 602) of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which are executed via the processor(s) of thecomputer or other programmable data processing apparatus, create meansfor implementing the functions/acts specified in the flowcharts and/orblock diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium (e.g., memory 604 or computer data storage unit612) that can direct a computer (e.g., computer 102), other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions (e.g., program 614) stored in thecomputer-readable medium produce an article of manufacture includinginstructions which implement the function/act specified in theflowcharts and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer(e.g., computer 102), other programmable data processing apparatus, orother devices to cause a series of operational steps to be performed onthe computer, other programmable apparatus, or other devices to producea computer-implemented process such that the instructions (e.g., program614) which are executed on the computer, other programmable apparatus,or other devices provide processes for implementing the functions/actsspecified in the flowcharts and/or block diagram block or blocks.

Any of the components of an embodiment of the present invention can bedeployed, managed, serviced, etc. by a service provider that offers todeploy or integrate computing infrastructure with respect topersonalizing error messages. Thus, an embodiment of the presentinvention discloses a process for supporting computer infrastructure,where the process includes providing at least one support service for atleast one of integrating, hosting, maintaining and deployingcomputer-readable code (e.g., program code 614) in a computer system(e.g., computer 102) including one or more processors (e.g., CPU 602),wherein the processor(s) carry out instructions contained in the codecausing the computer system to personalize error messages. Anotherembodiment discloses a process for providing at least one supportservice for at least one of creating, integrating, hosting, maintaining,and deploying computer-readable program code 614 in computer 102, whereprogram code 614 is executed by CPU 602 to implement the steps includedin FIGS. 2A-2B and FIG. 3.

The flowcharts in FIGS. 2A-2B and FIG. 3 and the block diagrams in FIG.1 and FIG. 6 illustrate the architecture, functionality, and operationof possible implementations of systems, methods, and computer programproducts according to various embodiments of the present invention. Inthis regard, each block in the flowcharts or block diagrams mayrepresent a module, segment, or portion of code (e.g., program code614), which includes one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be performed substantiallyconcurrently, or the blocks may sometimes be performed in reverse order,depending upon the functionality involved. It will also be noted thateach block of the block diagrams and/or flowchart illustrations, andcombinations of blocks in the block diagrams and/or flowchartillustrations, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

While embodiments of the present invention have been described hereinfor purposes of illustration, many modifications and changes will becomeapparent to those skilled in the art. Accordingly, the appended claimsare intended to encompass all such modifications and changes as fallwithin the true spirit and scope of this invention.

What is claimed is:
 1. A method of personalizing an error message for auser, the method comprising the steps of: a computer modifying a helpsystem that is supplied with a software application, so thatinteractions with the help system by users of the software applicationare monitored, and so that the help system includes instructions aboutrespective error conditions which indicate respective problems with anoperation of the software application, each instruction being in first,second, third, and fourth formats, the first format being compatiblewith a first learning style of first users of the software application,the first learning style indicating a preference for verbal input in aform of spoken words, the second format being compatible with a secondlearning style of second users of the software application, the secondlearning style indicating a preference for verbal input in a form ofwritten words, the third format being compatible with a third learningstyle of third users of the software application, the third learningstyle indicating a preference for visual input without verbal input, andthe fourth format being compatible with a fourth learning style offourth users of the software application, the fourth learning styleindicating a preference for a mixture of visual and verbal input;subsequent to the step of modifying, the computer detecting the errorconditions which indicate the problems with the operation of thesoftware application; based on the help system being modified and theinteractions by users of the software application being monitored, amonitoring agent tracking and recording (1) selections by the user ofcontent of the help system with which the user is interacting to resolvethe detected error conditions and (2) types of the interactions with thehelp system by the user, the interactions accessing the content of thehelp system, wherein the monitoring agent is external to the computer;based on (i) the selections of the content of the help system beingtracked and recorded by the monitoring agent external to the computerand (ii) the tracked and recorded types of interactions with the helpsystem, the computer determining a learning format, a learning type, aninteractivity level, an interactivity type, and a semantic density asattributes of the content of the help system with which the user isinteracting to resolve the detected error conditions, the learningformat being a format of the content that the user utilizes to learnabout the detected error conditions and actions to resolve the errorconditions, the format of the content being a format of text, image,audio, video or application, the learning type being a type of thecontent that the user utilizes to learn about the detected errorconditions and the actions to resolve the error conditions, the type ofthe content being a learning exercise, a simulation, a questionnaire, afigure, an index, a table of information, a narrative text, an exam, ora lecture, the interactivity level being an indicator of an amount ofinteractivity provided by the content that the user utilizes to learnabout the detected error conditions and the actions to resolve the errorconditions, the interactivity type being a type of interactivityprovided by the content that the user utilizes to learn about thedetected error conditions and the actions to resolve the errorconditions, the type of interactivity being active, expositive, or amixture of active and expositive, and the semantic density being anindicator of a number of instances of the learning type that ispreferred by the user to learn about the detected error conditions andthe actions to resolve the error conditions; based on (i) the selectionsof the content of the help system tracked and recorded by the monitoringagent external to the computer, the help system being interacted with bythe user to resolve the detected error conditions, (ii) the types of theinteractions with the help system, and (iii) the attributes of thecontent of the help system which include the learning format, thelearning type, the interactivity level, the interactivity type, and thesemantic density, the computer generating a model of a learning style ofthe user by using a Bayesian network by which a learning style isdeduced from dichotomous and continuous dimensions consisting of aperception dimension, an input dimension, an understanding dimension,and a processing dimension and by which the learning format, thelearning type, the interactivity level, the interactivity type, and thesemantic density are dependent upon the perception, input,understanding, and processing dimensions, wherein the perceptiondimension indicates whether the user preferentially perceives sensoryinformation or intuitive information, wherein the sensory informationincludes sights, sound, and physical sensations, wherein the intuitiveinformation includes ideas, insights, and memories, wherein the inputdimension indicates whether the user most effectively receivesinformation through a visual mode or a verbal mode, wherein theunderstanding dimension indicates whether the user prefers to progresstoward understanding sequentially or globally, and wherein theprocessing dimension indicates whether the user prefers to processinformation actively or reflectively; using the Bayesian network, thecomputer determining the learning style of the user is the first,second, third, or fourth learning style; subsequent to the step ofdetermining the learning style is the first, second, third, or fourthlearning style, the computer detecting an error condition included inthe error conditions which indicate the respective errors in theoperation of the software application; based on the detected errorcondition, the computer retrieving a predetermined error message fromthe data repository that includes a plurality of predetermined errormessages, the retrieved predetermined error message describing thedetected error condition; if the learning style of the user wasdetermined to be the first learning style, the computer augmenting thepredetermined error message with a first instruction included in theinstructions in the first format, if the learning style of the user wasdetermined to be the second learning style, the computer augmenting thepredetermined error message with a second instruction included in theinstructions in the second format, if the learning style of the user wasdetermined to be the third learning style, the computer augmenting thepredetermined error message with a third instruction included in theinstructions in the third format, or if the learning style of the userwas determined to be the fourth learning style, the computer augmentingthe predetermined error message with a fourth instruction included inthe instructions in the fourth format; and the computer presenting theaugmented error message to the user during an interaction between theuser and the software application, the presented augmented error messagebeing a user interface message about the detected error conditions andthe actions to resolve the error conditions which is effectivelyreceived by the user based on the user interface message including thefirst, second, third, or fourth instruction whose format matches thelearning style of the user.
 2. The method of claim 1, further comprisingthe step of in response to the step of determining the learning style ofthe user, the computer selecting the first instruction from theinstructions if the learning style of the user was determined to be thefirst learning style, the computer selecting the second instruction fromthe instructions if the learning style of the user was determined to bethe second learning style, the computer selecting the third instructionfrom the instructions if the learning style of the user was determinedto be the third learning style, or the computer selecting the fourthinstruction from the instructions if the learning style of the user wasdetermined to be the fourth learning style.
 3. The method of claim 1,further comprising the steps of: based on the help system being modifiedand the interactions of the users of the software application beingmonitored, the computer tracking and recording selections by a seconduser of (1) second content of the help system with which the second useris interacting to resolve the detected error conditions and (2) secondtypes of the interactions with the help system by the second user; thecomputer determining second attributes of the second content of the helpsystem with which the second user is interacting to resolve the detectederror conditions, the second attributes consisting of a second learningformat, a second learning type, a second interactivity level, a secondinteractivity type, and a second semantic density; based on a secondmodel of a second learning style of the second user, which is based onthe second content of the help system with which the second user isinteracting to resolve the detected error conditions, the second typesof the interactions with the help system, and the second attributes ofthe second content of the help system, the computer determining anotherlearning style of the second user is the first, second, third, or fourthlearning style; subsequent to the step of determining the other learningstyle is the first, second, third, or fourth learning style, thecomputer detecting another error condition included in the errorconditions which indicate the respective errors in the operation of thesoftware application; based on the detected other error condition, thecomputer retrieving a second error message from the data repository thatincludes the plurality of predetermined error messages, the retrievedsecond error message describing the detected other error condition; ifthe other learning style of the second user was determined to be thefirst learning style, the computer augmenting the second error messagewith a fifth instruction included in the instructions in the firstformat, if the other learning style of the second user was determined tobe the second learning style, the computer augmenting the second errormessage with a sixth instruction included in the instructions in thesecond format, if the other learning style of the second user wasdetermined to be the third learning style, the computer augmenting thesecond error message with a seventh instruction included in theinstructions in the third format, or if the other learning style of thesecond user was determined to be the fourth learning style, the computeraugmenting the second error message with an eighth instruction includedin the instructions in the fourth format; and the computer presentingthe augmented second error message to the second user during aninteraction between the second user and the software application,wherein the augmented second error message presented to the second useris different from the augmented error message presented to the user, andthe augmented second error message being different from the augmentederror message resulting from the other learning style of the second userbeing different from the learning style of the user.
 4. The method ofclaim 1, further comprising the steps of: the computer retrievinginformation about the user from a user profile of the user, theinformation including a name of the user and/or characteristics of theuser other than the attributes on which the learning style is based; andthe computer augmenting the error message with the retrieved informationand/or with a message based on the retrieved information.
 5. The methodof claim 1, further comprising the step of the computer receiving aninstruction from the user to look up the non-augmented error message inthe help system, wherein the step of presenting the augmented errormessage is performed in response to the step of receiving theinstruction to look up the non-augmented error message in the helpsystem.
 6. The method of claim 1, further comprising the step ofproviding at least one support service for at least one of creating,integrating, hosting, maintaining, and deploying computer-readableprogram code in the computer, the program code being executed by aprocessor of the computer to implement the steps of modifying the helpsystem that is supplied with the software application, detecting theerror conditions, tracking and recording the selections by the user,determining the learning format, learning type, interactivity level,interactivity type, and semantic density as the attributes, generatingthe model, determining the learning style is the first, second, third,or fourth learning style, detecting the error condition, retrieving thepredetermined error message, augmenting the predetermined error message,and presenting the augmented error message.
 7. A computer systemcomprising: a monitoring agent; a central processing unit (CPU); amemory coupled to the CPU; a computer-readable, tangible storage devicecoupled to the CPU, the storage device containing instructions that areexecuted by the CPU via the memory to implement a method ofpersonalizing an error message for a user, the method comprising: thecomputer system modifying a help system that is supplied with a softwareapplication, so that interactions with the help system by users of thesoftware application are monitored, and so that the help system includesinstructions about respective error conditions which indicate respectiveproblems with an operation of the software application, each instructionbeing in first, second, third, and fourth formats, the first formatbeing compatible with a first learning style of first users of thesoftware application, the first learning style indicating a preferencefor verbal input in a form of spoken words, the second format beingcompatible with a second learning style of second users of the softwareapplication, the second learning style indicating a preference forverbal input in a form of written words, the third format beingcompatible with a third learning style of third users of the softwareapplication, the third learning style indicating a preference for visualinput without verbal input, and the fourth format being compatible witha fourth learning style of fourth users of the software application, thefourth learning style indicating a preference for a mixture of visualand verbal input; subsequent to the step of modifying, the computersystem detecting the error conditions which indicate the problems withthe operation of the software application; based on the help systembeing modified and the interactions by users of the software applicationbeing monitored, the monitoring agent tracking and recording (1)selections by the user of content of the help system with which the useris interacting to resolve the detected error conditions and (2) types ofthe interactions with the help system by the user, the interactionsaccessing the content of the help system; based on (i) the selections ofthe content of the help system being tracked and recorded by themonitoring agent external to the computer system and (ii) the trackedand recorded types of interactions with the help system, the computersystem determining a learning format, a learning type, an interactivitylevel, an interactivity type, and a semantic density as attributes ofthe content of the help system with which the user is interacting toresolve the detected error conditions, the learning format being aformat of the content that the user utilizes to learn about the detectederror conditions and actions to resolve the error conditions, the formatof the content being a format of text, image, audio, video orapplication, the learning type being a type of the content that the userutilizes to learn about the detected error conditions and the actions toresolve the error conditions, the type of the content being a learningexercise, a simulation, a questionnaire, a figure, an index, a table ofinformation, a narrative text, an exam, or a lecture, the interactivitylevel being an indicator of an amount of interactivity provided by thecontent that the user utilizes to learn about the detected errorconditions and the actions to resolve the error conditions, theinteractivity type being a type of interactivity provided by the contentthat the user utilizes to learn about the detected error conditions andthe actions to resolve the error conditions, the type of interactivitybeing active, expositive, or a mixture of active and expositive, and thesemantic density being an indicator of a number of instances of thelearning type that is preferred by the user to learn about the detectederror conditions and the actions to resolve the error conditions; basedon (i) the selections of the content of the help system tracked andrecorded by the monitoring agent external to the computer system, thehelp system being interacted with by the user to resolve the detectederror conditions, (ii) the types of the interactions with the helpsystem, and (iii) the attributes of the content of the help system whichinclude the learning format, the learning type, the interactivity level,the interactivity type, and the semantic density, the computer systemgenerating a model of a learning style of the user by using a Bayesiannetwork by which a learning style is deduced from dichotomous andcontinuous dimensions consisting of a perception dimension, an inputdimension, an understanding dimension, and a processing dimension and bywhich the learning format, the learning type, the interactivity level,the interactivity type, and the semantic density are dependent upon theperception, input, understanding, and processing dimensions, wherein theperception dimension indicates whether the user preferentially perceivessensory information or intuitive information, wherein the sensoryinformation includes sights, sound, and physical sensations, wherein theintuitive information includes ideas, insights, and memories, whereinthe input dimension indicates whether the user most effectively receivesinformation through a visual mode or a verbal mode, wherein theunderstanding dimension indicates whether the user prefers to progresstoward understanding sequentially or globally, and wherein theprocessing dimension indicates whether the user prefers to processinformation actively or reflectively; using the Bayesian network, thecomputer system determining the learning style of the user is the first,second, third, or fourth learning style; subsequent to the step ofdetermining the learning style is the first, second, third, or fourthlearning style, the computer system detecting an error conditionincluded in the error conditions which indicate the respective errors inthe operation of the software application; based on the detected errorcondition, the computer system retrieving a predetermined error messagefrom the data repository that includes a plurality of predeterminederror messages, the retrieved predetermined error message describing thedetected error condition; if the learning style of the user wasdetermined to be the first learning style, the computer systemaugmenting the predetermined error message with a first instructionincluded in the instructions in the first format, if the learning styleof the user was determined to be the second learning style, the computersystem augmenting the predetermined error message with a secondinstruction included in the instructions in the second format, if thelearning style of the user was determined to be the third learningstyle, the computer system augmenting the predetermined error messagewith a third instruction included in the instructions in the thirdformat, or if the learning style of the user was determined to be thefourth learning style, the computer system augmenting the predeterminederror message with a fourth instruction included in the instructions inthe fourth format; and the computer system presenting the augmentederror message to the user during an interaction between the user and thesoftware application, the presented augmented error message being a userinterface message about the detected error conditions and the actions toresolve the error conditions which is effectively received by the userbased on the user interface message including the first, second, third,or fourth instruction whose format matches the learning style of theuser.
 8. The computer system of claim 7, wherein the method furthercomprises the step of in response to the step of determining thelearning style of the user, the computer system selecting the firstinstruction from the instructions if the learning style of the user wasdetermined to be the first learning style, the computer selecting thesecond instruction from the instructions if the learning style of theuser was determined to be the second learning style, the computerselecting the third instruction from the instructions if the learningstyle of the user was determined to be the third learning style, or thecomputer selecting the fourth instruction from the instructions if thelearning style of the user was determined to be the fourth learningstyle.
 9. The computer system of claim 7, wherein the method furthercomprises the steps of: based on the help system being modified and theinteractions of the users of the software application being monitored,the computer system tracking and recording selections by a second userof (1) second content of the help system with which the second user isinteracting to resolve the detected error conditions and (2) secondtypes of the interactions with the help system by the second user; thecomputer system determining second attributes of the second content ofthe help system with which the second user is interacting to resolve thedetected error conditions, the second attributes consisting of a secondlearning format, a second learning type, a second interactivity level, asecond interactivity type, and a second semantic density; based on asecond model of a second learning style of the second user, which isbased on the second content of the help system with which the seconduser is interacting to resolve the detected error conditions, the secondtypes of the interactions with the help system, and the secondattributes of the second content of the help system, the computer systemdetermining another learning style of the second user is the first,second, third, or fourth learning style; subsequent to the step ofdetermining the other learning style is the first, second, third, orfourth learning style, the computer system detecting another errorcondition included in the error conditions which indicate the respectiveerrors in the operation of the software application; based on thedetected other error condition, the computer system retrieving a seconderror message from the data repository that includes the plurality ofpredetermined error messages, the retrieved second error messagedescribing the detected other error condition; if the other learningstyle of the second user was determined to be the first learning style,the computer system augmenting the second error message with a fifthinstruction included in the instructions in the first format, if theother learning style of the second user was determined to be the secondlearning style, the computer system augmenting the second error messagewith a sixth instruction included in the instructions in the secondformat, if the other learning style of the second user was determined tobe the third learning style, the computer system augmenting the seconderror message with a seventh instruction included in the instructions inthe third format, or if the other learning style of the second user wasdetermined to be the fourth learning style, the computer systemaugmenting the second error message with an eighth instruction includedin the instructions in the fourth format; and the computer systempresenting the augmented second error message to the second user duringan interaction between the second user and the software application,wherein the augmented second error message presented to the second useris different from the augmented error message presented to the user, andthe augmented second error message being different from the augmentederror message resulting from the other learning style of the second userbeing different from the learning style of the user.
 10. The computersystem of claim 7, wherein the method further comprises the steps of:the computer system retrieving information about the user from a userprofile of the user, the information including a name of the user and/orcharacteristics of the user other than the attributes on which thelearning style is based; and the computer system augmenting the errormessage with the retrieved information and/or with a message based onthe retrieved information.
 11. The computer system of claim 7, whereinthe method further comprises the step of the computer system receivingan instruction from the user to look up the non-augmented error messagein the help system, wherein the step of presenting the augmented errormessage is performed in response to the step of receiving theinstruction to look up the non-augmented error message in the helpsystem.
 12. A computer program product, comprising: a computer-readable,tangible storage device which is not a signal or a signal propagationmedium; and a computer-readable program code stored in thecomputer-readable, tangible storage device, the computer-readableprogram code containing instructions that are executed by a centralprocessing unit (CPU) of a computer system to implement a method ofpersonalizing an error message for a user, the method comprising: thecomputer system modifying a help system that is supplied with a softwareapplication, so that interactions with the help system by users of thesoftware application are monitored, and so that the help system includesinstructions about respective error conditions which indicate respectiveproblems with an operation of the software application, each instructionbeing in first, second, third, and fourth formats, the first formatbeing compatible with a first learning style of first users of thesoftware application, the first learning style indicating a preferencefor verbal input in a form of spoken words, the second format beingcompatible with a second learning style of second users of the softwareapplication, the second learning style indicating a preference forverbal input in a form of written words, the third format beingcompatible with a third learning style of third users of the softwareapplication, the third learning style indicating a preference for visualinput without verbal input, and the fourth format being compatible witha fourth learning style of fourth users of the software application, thefourth learning style indicating a preference for a mixture of visualand verbal input; subsequent to the step of modifying, the computersystem detecting the error conditions which indicate the problems withthe operation of the software application; based on the help systembeing modified and the interactions by users of the software applicationbeing monitored, a monitoring agent in the computer system tracking andrecording (1) selections by the user of content of the help system withwhich the user is interacting to resolve the detected error conditionsand (2) types of the interactions with the help system by the user, theinteractions accessing the content of the help system; based on (i) theselections of the content of the help system being tracked and recordedby the monitoring agent external to the computer and (ii) the trackedand recorded types of interactions with the help system, the computersystem determining a learning format, a learning type, an interactivitylevel, an interactivity type, and a semantic density as attributes ofthe content of the help system with which the user is interacting toresolve the detected error conditions, the learning format being aformat of the content that the user utilizes to learn about the detectederror conditions and actions to resolve the error conditions, the formatof the content being a format of text, image, audio, video orapplication, the learning type being a type of the content that the userutilizes to learn about the detected error conditions and the actions toresolve the error conditions, the type of the content being a learningexercise, a simulation, a questionnaire, a figure, an index, a table ofinformation, a narrative text, an exam, or a lecture, the interactivitylevel being an indicator of an amount of interactivity provided by thecontent that the user utilizes to learn about the detected errorconditions and the actions to resolve the error conditions, theinteractivity type being a type of interactivity provided by the contentthat the user utilizes to learn about the detected error conditions andthe actions to resolve the error conditions, the type of interactivitybeing active, expositive, or a mixture of active and expositive, and thesemantic density being an indicator of a number of instances of thelearning type that is preferred by the user to learn about the detectederror conditions and the actions to resolve the error conditions; basedon (i) the selections of the content of the help system tracked andrecorded by the monitoring agent external to the computer system, thehelp system being interacted with by the user to resolve the detectederror conditions, (ii) the types of the interactions with the helpsystem, and (iii) the attributes of the content of the help system whichinclude the learning format, the learning type, the interactivity level,the interactivity type, and the semantic density, the computer systemgenerating a model of a learning style of the user by using a Bayesiannetwork by which a learning style is deduced from dichotomous andcontinuous dimensions consisting of a perception dimension, an inputdimension, an understanding dimension, and a processing dimension and bywhich the learning format, the learning type, the interactivity level,the interactivity type, and the semantic density are dependent upon theperception, input, understanding, and processing dimensions, wherein theperception dimension indicates whether the user preferentially perceivessensory information or intuitive information, wherein the sensoryinformation includes sights, sound, and physical sensations, wherein theintuitive information includes ideas, insights, and memories, whereinthe input dimension indicates whether the user most effectively receivesinformation through a visual mode or a verbal mode, wherein theunderstanding dimension indicates whether the user prefers to progresstoward understanding sequentially or globally, and wherein theprocessing dimension indicates whether the user prefers to processinformation actively or reflectively; using the Bayesian network, thecomputer system determining the learning style of the user is the first,second, third, or fourth learning style; subsequent to the step ofdetermining the learning style is the first, second, third, or fourthlearning style, the computer system detecting an error conditionincluded in the error conditions which indicate the respective errors inthe operation of the software application; based on the detected errorcondition, the computer system retrieving a predetermined error messagefrom the data repository that includes a plurality of predeterminederror messages, the retrieved predetermined error message describing thedetected error condition; if the learning style of the user wasdetermined to be the first learning style, the computer systemaugmenting the predetermined error message with a first instructionincluded in the instructions in the first format, if the learning styleof the user was determined to be the second learning style, the computersystem augmenting the predetermined error message with a secondinstruction included in the instructions in the second format, if thelearning style of the user was determined to be the third learningstyle, the computer system augmenting the predetermined error messagewith a third instruction included in the instructions in the thirdformat, or if the learning style of the user was determined to be thefourth learning style, the computer system augmenting the predeterminederror message with a fourth instruction included in the instructions inthe fourth format; and the computer system presenting the augmentederror message to the user during an interaction between the user and thesoftware application, the presented augmented error message being a userinterface message about the detected error conditions and the actions toresolve the error conditions which is effectively received by the userbased on the user interface message including the first, second, third,or fourth instruction whose format matches the learning style of theuser.
 13. The program product of claim 12, wherein the method furthercomprises the step of in response to the step of determining thelearning style of the user, the computer system selecting the firstinstruction from the instructions if the learning style of the user wasdetermined to be the first learning style, the computer selecting thesecond instruction from the instructions if the learning style of theuser was determined to be the second learning style, the computerselecting the third instruction from the instructions if the learningstyle of the user was determined to be the third learning style, or thecomputer selecting the fourth instruction from the instructions if thelearning style of the user was determined to be the fourth learningstyle.
 14. The program product of claim 12, wherein the method furthercomprises the steps of: based on the help system being modified and theinteractions of the users of the software application being monitored,the computer system tracking and recording selections by a second userof (1) second content of the help system with which the second user isinteracting to resolve the detected error conditions and (2) secondtypes of the interactions with the help system by the second user; thecomputer system determining second attributes of the second content ofthe help system with which the second user is interacting to resolve thedetected error conditions, the second attributes consisting of a secondlearning format, a second learning type, a second interactivity level, asecond interactivity type, and a second semantic density; based on asecond model of a second learning style of the second user, which isbased on the second content of the help system with which the seconduser is interacting to resolve the detected error conditions, the secondtypes of the interactions with the help system, and the secondattributes of the second content of the help system, the computer systemdetermining another learning style of the second user is the first,second, third, or fourth learning style; subsequent to the step ofdetermining the other learning style is the first, second, third, orfourth learning style, the computer system detecting another errorcondition included in the error conditions which indicate the respectiveerrors in the operation of the software application; based on thedetected other error condition, the computer system retrieving a seconderror message from the data repository that includes the plurality ofpredetermined error messages, the retrieved second error messagedescribing the detected other error condition; if the other learningstyle of the second user was determined to be the first learning style,the computer system augmenting the second error message with a fifthinstruction included in the instructions in the first format, if theother learning style of the second user was determined to be the secondlearning style, the computer system augmenting the second error messagewith a sixth instruction included in the instructions in the secondformat, if the other learning style of the second user was determined tobe the third learning style, the computer system augmenting the seconderror message with a seventh instruction included in the instructions inthe third format, or if the other learning style of the second user wasdetermined to be the fourth learning style, the computer systemaugmenting the second error message with an eighth instruction includedin the instructions in the fourth format; and the computer systempresenting the augmented second error message to the second user duringan interaction between the second user and the software application,wherein the augmented second error message presented to the second useris different from the augmented error message presented to the user, andthe augmented second error message being different from the augmentederror message resulting from the other learning style of the second userbeing different from the learning style of the user.
 15. The programproduct of claim 12, wherein the method further comprises the steps of:the computer system retrieving information about the user from a userprofile of the user, the information including a name of the user and/orcharacteristics of the user other than the attributes on which thelearning style is based; and the computer system augmenting the errormessage with the retrieved information and/or with a message based onthe retrieved information.
 16. The program product of claim 12, whereinthe method further comprises the step of the computer system receivingan instruction from the user to look up the non-augmented error messagein the help system, and wherein the step of presenting the augmentederror message is performed in response to the step of receiving theinstruction to look up the non-augmented error message in the helpsystem.